package com.o2opuzi.pub.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.o2opuzi.lib.db.SupportDao;
import com.o2opuzi.pub.model.User;


/**
 * 
 * @author Y.hj
 * @date 2016年5月31日
 */
@Repository
public class UserDao extends SupportDao<com.o2opuzi.pub.model.User>{
	
	/**
	 * 通过账号或密码获取用户信息
	 * @auther Y.hj
	 * @param account
	 * @param password
	 * @return
	 */
	public User findUser(String account,String password){
		return findBy("(account = ?  or phone = ?) and password = ?",account,account,password);
				   
	}
	
	/**
	 * 获取管理员
	 * @auther Y.hj
	 * @param account
	 * @param password
	 * @return
	 */
	public User findAdminUser(String account,String password){
		return findBy("account = ? and password = ? and is_admin = ?", account,password,1);
	}
	
	
	/**
	 * 分页获取用户列表
	 * @auther Y.hj
	 * @param page
	 * @param size
	 * @return
	 */
	public List<User> getUserList(Integer page,Integer size){
		return findList(page, size);
	}
	
	/**
	 * 通过微信openid获取用户
	 * @auther Y.hj
	 * @param openid
	 * @return
	 */
	public User findByWeixin(String openid){
		return findBy("wx_openid = ?", openid);
	}
	
	/**
	 * 设置用户的角色为空
	 * @auther Y.hj
	 * @param role_id
	 */
	public void updateRoleNull(Integer role_id){
		update(new User().set("role_id", null).where().eq("role_id", role_id));
	}
	
}
